Adaptive recognizing device

ABSTRACT

An electronic adaptive recognizing device which includes an input store having a number of storage locations for receiving an input signal, and a number of addressable stores each having one or more address lines connected to a number of the input store locations in either a random way or one determined by the input signal. The contents of the input store specify addressable store locations at which words of at least one bit are stored. Structure is provided for deriving a common value based on the words stored at the specified addressable store locations and for calculating a corrected value based on a received value and the common value. An updated value is applied, dependent on the corrected value, to each of the specified addressable store locations so that the common value is adapted to changes in the dependence of the received value on the input signal and so that the device can output an appropriate corrected value for a given input signal.

FIELD OF THE INVENTION

This invention relates to an adaptive recognising device. There are manytechnical fields in which electronic recognition processes are employedsuch as optical pattern or character recognition, voice recognition, andthe like.

BACKGROUND OF THE INVENTION

In addition to such well known processes where values comprising labelsare assigned to patterns of one form or another and output as responsesby a recogniser, there are also many other processes in which patternsare recognised and values are output as responses. Two examples of suchprocesses are for example echo cancellation and signal filtering, thoughhitherto such processes have not been considered as pattern recognitionproblems.

In all such processes though patterns are input, and a response isoutput and whilst the present invention is particularly suitable for usewith recognition processes which also involve cancellation processes itmay be adapted for other recognition processes where its properties maybe used to advantage. In order to discuss the present invention morereadily, particular reference will be made to the field of echocancellation.

Echo cancellers are used in telephone circuits to suppress echoesreceived from a circuit by a station which emanate from signalstransmitted into the circuit by the same station. Echoes result from avariety of causes for example slight mismatches in four to two wirehybrids and from accoustic feedback in the distant stations handset.Normally such echoes are not noticeable but with International calls,where the echo may be delayed by more than a few tens of milliseconds,they can be annoying. In order to maintain duplex operation an echocanceller is required which can model the response of any feedback path.Since different feedback paths and different hybrids will have differentcharacteristics the canceller must be adaptive to be useful in anycircuit.

Three main forms of filters/echo canceller are known. In the first knownas an F.I.R. canceller (Finite Impulse Response), the input signal isconvolved with the impulse response of the line to form an instantaneousecho estimate. In the UK the maximum echo delay encountered is about 32ms and with an 8 kHz sampling rate a 256 tap shift register would beneeded to hold the relevant history of the input signal whose echo is tobe estimated. In order to estimate such an echo and update the responsethe canceller would need to perform 512 multiplications and 512additions within the 125?s period between samples. To do this isexpensive in terms of the high speed devices and fast memory required.

A second form of echo canceller uses the entire contents of the signalhistory shift register to address a large memory. Each possible previousform of the signal thus has a corresponding memory location and in eachof these locations data is stored which comprises an estimate of thecorresponding echo response for the particular signal history in thesignal history shift register. However, if 8 bit words are used with the240 tap shift register, which would be required as described above, thesignal history shift register will have 1920 locations and thus therandom access memory for storing the corresponding echo estimates willrequired 2¹⁹²⁰ 8 bit word locations. Such an amount of memory is clearlyimpracticable to implement and the only practical cancellers of thistype use a signal history shift register which is considerably smaller.The advantages of such a system are that no multiplications or additionsare required and that since each input signal accesses a differentmemory location many non-linearities in the feedback path can becancelled. However, the adaption times of such cancellers is long and inany event due to the constraints on memory size such cancellers are onlypracticable for use in systems where the number of transmitted symbolsis small and the echo path short. Such systems are therefore unsuitablefor speech signals.

A third form of echo canceller uses the contents of stages of an inputshift register each containing a digital word of a signal to provide theaddresses for a plurality of random access memories, each stage and thusword providing the address for a corresponding RAM. The contents of theRAM locations addressed thus are then summed to provide an echo estimatewhich can be updated. However such cancellers are only able to cope withamplitude dependant instantaneous non-linearities.

SUMMARY OF THE INVENTION

According to the present invention there is provided an electronicadaptive recognising device comprising, an input connected to an inputstore having a plurality of storage locations allowing datarepresentative of elements of a signal pattern to be recognised to bestored at locations related to the positions of the elements in saidpattern; a plurality of addressable stores each having one address linespecifying one or more store locations therein, each of said addressablestore locations being capable of containing a word of at least one bit,said address lines each being connected to a respective location in saidinput store such that the contents of said input store are capable ofspecifying a store location in each of said addressable stores; meansfor deriving a common value dependent on the contents of the storelocations specified by the contents of said input store, an input forreceived values; an output for corrected values; calculating means forcalculating a corrected value dependent on said common value and acorresponding one of said received values and updating means forapplying an update value dependent on said corrected value to thecontents of said specified store locations.

The present invention provides an adaptive recognising device which canenable implementation of devices, such as for example adaptive memoryecho cancellers, without the need for excessive amounts of random accessmemory. The input store is preferably a shift register through whichdigital data forming a pattern is fed and the addressable stores arepreferably each random access memories. In effect each of theaddressable stores contributes to the common value which in turncontributes directly or indirectly to an estimate of the received valuewhich in the case of an echo canceller will be the returned echo.

Since there is only one address line per addressable store the memoryrequirements are very small and the training time of the device willalso be small. However, though such a system will not completely modelnon linearities in the input signal pattern if only one store locationper addressable store is provided and though with two store locationsper addressable store the capacity to model non-linearities is stilllimited, use of either one or two store locations per addressable storeis still useful for the speed it gives and the economy of memory.

The means of deriving a common value dependent on the contents of theaddressable store locations specified by the input store locations cantake a number of suitable forms. Preferably though the common value isthe sum of the contents of specified addressable store locations. Otherfunctions than the sum may be used to derive the common value, thoughfor each different function used an appropriate updating means forcalculating the update value must be used to ensure that the deviceadapts correctly. The device is remarkable for its ability to recogniseinput data patterns and output corresponding reponses whilst using onlya relatively small amount of memory and whilst also being able to veryquickly adapt itself to account for changes in the received value'srelationship to the input signal pattern which may be caused for exampleby a change in echo path in the case of an echo canceller. The devicewill also operate on any input of digital data which forms patterns inthe input store whether the data represents data, a visual, aural, orany other pattern or mixture of them.

Preferably the corrected value is obtained by subtracting an estimatevalue form a corresponding one of the received values, the estimatevalue being derived from the average value of the contents of the storelocations specified by the corresponding contents of the input store.

Alternatively the corrected value can be obtained by subtracting the sumfrom a corresponding one of the received values, providing the updatingmeans comprises means for dividing the corrected value by the number ofaddressable stores connected to the input store in order to provide theupdate value. In both cases an update value is provided but in theformer case both it and the partial estimates in the addressable storelocations are each individual estimates whilst in the latter case theyare true partial estimates requiring summing but not normalising oraveraging before being supplied to the calculating means. In this lattercase though, normalisation of the corrected value is required before itcan be used as an update value. In both cases the update value ispreferably added to each of the specified store locations in theaddressable stores.

The addressable stores may each contain either one or two storelocations which are addressed by the single address line for each store.If only one store location per store is provided the adaption time ofthe device is extremely quick but by using two store locations per storesome of this speed may be sacrificied for an increase ability to modelnon-linearities.

The address line of each of the addressable stores may be connected tothe input store locations in a number of different ways. Thedistribution of the locations may be determined by the use to which thedevice is to be put or the locations may be chosen at random. The use ofrandom connections gives the ability to model non-linearities where thenon-linearity cannot be defined.

In certain circumstances however it is advantageous to have more thanone address line per addressable store and in this case the addressablestores each have a plurality of additional address lines which togetherwith the single address line address a plurality of locations in saidinput store and are connected to locations is said input store atrandom. This arrangement will of course increase the adaption time ofthe device but it also enables the device to model many more differenttypes of non-linearities and will be particulary useful if the form ofthe non-linearity to be modelled cannot be defined precisely.

When the addressable stores each have a plurality of additional addresslines which together with the single address line address a plurality ofstore locations in the store then whether or not the locations of theaddress line connections are chosen randomly it is preferable that thenumber of address lines per addressable store is smaller than the numberof bits each word of the input data is comprised of. This will result ina great saving of memory used by the addressable stores and can beeffected with either a random distribution of the address lines or witha specific arrangement of them to suit a particular purpose.

In all the above embodiments of the present invention more than the oneaddress line may advantageously be connected to a single input storelocation.

One particularly advantageous form of the present invention can beimplemented when the input data comprises A-law or μ law wordscomprising a sign bit, three exponent bits and four mantissa bits. Insuch a case instead of the address lines for an addressable store beingtaken from one eight bit "vertical segment of the input shift registerthe exponent bit, optionally the sign bit and one only each of themantissa bits are fed to each of four addressable stores whose outputsare summed. The addition may be effected by either by a series of adderseach of whose outputs are summed together by a common adder to provide acommon value or by a single adder common to all the addressable storesof the device. In either case the sign bit may be fed to the sameaddressable stores as the other bits so that each addressable store hasfive address lines or it may be fed to a separate addressable storehaving two store locations whose output are summed in common with theoutputs of the other addressable stores. Alternatively if the outputs ofthe four addressable stores are summed then the sign bit can be used tocontrol an inverter acting on the output of each individual summingmeans. Such an arrangement can of course be used with any form of nonlinearly coded words involving exponent and mantissa bits if the inputstore comprises a register each stage of which contains one of saidwords and a plurality of the addressable stores are connected to each ofa plurality of the input store stages and are each addressed by at leastall said the exponent bits and one of said mantissa bits the outputs ofall the addressable stores being summed as before to provide a totalestimate.

Instead of using a single recognising device a plurality of them may becombined by having their input stores connected in series and having acommon input, input for received values, output for corrected values,calculating means and updating means. The estimate value used in thecalculating means in the case is the average of the average values ofthe contents of the addressable store locations specified by thecontents of each of the input stores.

A device according to the present invention may also include means forselectively operating the device according to a predetermined sequencein either a recognition mode in which corrected values are output or inan update mode where the update value is applied, preferably by beingadded, to the contents of each of said addressable store locations bythe update means.

The device according to the present invention may be made capable ofrecognising data forming a particular input signal pattern independentlyof the pattern's position in a shift register forming the input store bewriting identical values in locations corresponding to a plurality ofpositions of said signal pattern in the input store shift register.

The device may of course be used as an echo canceller for use with atransmitter/receiver unit when the transmitter output is applied to thedevice input, the receiver is connected to the output for correctedvalues and the input for received values is supplied with a signalincluding an echo which is to be received by the receiver. This enablesportions of the received signal which are derived from the transmittedsignal to be cancelled.

The device may also be used as a self training filter or waveformrecogniser by connecting the input to the input for received values areproviding means for interrupting the updating of the contents of theaddressable store locations. Using the device in this way enables thedevice to be trained to recognise a particular input signal pattern orpatterns by passing the appropriate signal patterns into the input.After updating is interrupted the corrected value output will only bycancelled for those input signal patterns on which the device has beentrained.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the present invention will now be describedwith reference to the accompanying drawings in which:

FIG. 1 shows an hypothetical adaptive memory echo canceller according tothe prior art in diagrammatic form.

FIG. 2 shows in diagrammatic form an adaptive recognising deviceaccording to an embodiment of the present invention.

FIG. 3 shows in diagrammatic form an adaptive recognising deviceaccording to a further embodiment of the present invention using aplurality of randomly distributed address lines for each addressablestore.

FIG. 4 shows in diagrammatic form an adaptive recognising deviceaccording to a further embodiment of the present invention using aplurality of input stores.

FIGS. 5 and 6 show in diagrammatic form two arrangements of analogue todigital and digitial to analogue converters for use with the deviceshown in FIGS. 2 to 4 as an echo-canceller in an analogue circuit.

FIG. 7 shows in diagrammatic form an embodiment of the present inventionbeing used as an echo canceller in a telephone circuit using A-law wordsshowing where linearisation of the signal is required.

FIG. 8 shows a partial view in diagrammatic form of a further embodimentof the present invention being used as an echo canceller in a telephonecircuit using A-law or μ law words.

FIG. 9 shows a partial view in diagrammatic form of another embodimentof the present invention being used as an echo canceller in a telephonecircuit using A-law or μ law words.

DETAILED DESCRIPTION

In FIG. 1 an adaptive memory echo canceller according to the prior artis shown. An input signal 1 which is also to be transmitted from ahybrid 2 is fed into a 240×8 bit shift register 3. Once the shiftregister 3 contains a sequence of words it also in effect contains apattern of binary values. Each of the cells of the shift register thuscontains either 0 or 1 and each of these cells is also connected to anaddress line of a block 4 of random access memory (RAM). Since the shiftregister 3 contains 1920 cells the RAM will have to have 2¹⁹²⁰ words ofmemory in order to store an echo estimate for each of the possible inputsignal bit patterns in the shift register 3. Assuming such a memorycould be constructed the addresses in the RAM 4 can be used to storeecho estimates which can be read out as an estimate value 5 when thecorresponding signal pattern is detected by the address lines connectedto the shift register. The echo estimate value 5 corresponding to theinput signal 1 is then subtracted 7 from the actual echo 6 received fromthe hybrid 2 to provide a residual echo signal 8. The residual echosignal 8 is used to send an update value 9 to the RAM location where theestimate value 5 came from so that when exactly the same signal appearsagain the corrected echo estimate will be read out.

The major disadvantage with such system is that an impossibly largeamount of memory is required. Such echo cancellers can thus only be usedwhere the echo path is short and the number of transmitted symbols smallwhich considerably limits their usefulness. A further disadvantage ofsuch a large memory requirement is that the training time taken before aresponse for each of the type of signal likely to be encountered innormal operation has been stored is very great.

FIG. 2 shows a general embodiment of the present invention isdiagrammatic form. The use of the circuit is not restricted to use as anecho canceller but may be put to a number of uses. An input signal 10 isfed into an input store 12 which is preferably a shift register. Themanner in which the data is fed in will depend on its source and the useto which the device is being put and is not important provided theresult is an array of cells each containing bits of the input data. Theinput signal may, if preferred, be fed through the shift register 12 aspart of a line 14 rather than being tapped from it.

Linked to individual cells of the input store 12 are a plurality ofaddress lines 16. Each of these lines senses the contents of aparticular input store cell and each forms the address line for arespective random access memory 18 (of which only a representative feware shown). Since there is only one address line per RAM each RAM onlycontains either one or two address. Thus the size of RAM required isconsiderably reduced compared to the prior art whilst the number inputstore cells remains the same. For example in FIG. 2 128 input storecells are shown which using the construction of FIG. 1 would require aRAM with 2¹²⁸ addresses. Using the construction of FIG. 2 RAMs with only2¹ addresses are required and whilst more than one of these is used thetotal memory requirement is still considerably reduced.

The address lines 16 may be connected to the input store cells in anysuitable way either according to a predetermined pattern depending onthe use to which the device is put or randomly as shown in FIG. 2. Theconnections of different lines may also be to identical cells. Thenumber of lines 16 and thus the number of RAMs 18 may take any suitablenumber, typically this might be such that there are as many addresslines as input store cells but a lesser or greater number may be used.

The address lines 16 each specify an address in a corresponding RAM 18corresponding to the contents of the input store 12 and the location ofthe address lines 16 among the store cells. At each of the RAM storelocations a word is stored indicting a partial response to the inputstore contents.

A common value based on these partial responses is then calculated by anappropriate device 22. The way in which the common value is derived fromthe partial responses may take a number of suitable forms but ispreferably of addition of all the partial responses. A calculating means23 then calculates a corrected value 28 based on the common valueforming a total estimate 26 and also on a received value 24 which isrelated in some way to the input signal 10. An updating means (notshown) then applies an update value 30 to each of the RAMs 18 so thatthe next time the same data is present in the input store asubstantially correct total estimate will be returned. The updatingmeans also allows variations in the dependence of the received value onthe input signal to be accounted for by amending the partial responses20 when the received value 24 differs from that expected based on theinput signal 10 and the partial responses corresponding to it which arealready stored in the RAMs 18. The way in which the updating meanscalculates the update value 30 must be appropriate though to the way inwhich the device 22 derives the common value so that the device willadapt correctly.

Preferably the partial responses 20 are summed by summing means 22 andthe total 26 subtracted 23 from the received value 24 of which the totalestimate 26 is an estimate. The subtraction 23 yields the correctedvalue 28 which is also used to provide the update value 30 for the RAMaddress locations which provided the partial responses 20. Since thewords held in the RAM addresses are summed by the summing means 22either the total estimate 26 or the corrected value 28 must be dividedby the total number of RAMs 18 used to prevent a wrongly scaled updatevalue 30 being applied to the RAM addresses to be updated. Preferablythe update value is added to the contents of each address to be updated.Other means for deriving an update value may be used as appropriatethough, for example a fraction of the error may be returned or only asign bit. In such cases adaption will be slower though.

By connecting directly or indirectly the line 14 to the received valueinput 24 a particularly useful set of uses of the device can berealised. The device will, when a signal 10 is input to it, learn torecognise the signal and return a total estimate which will be the sameor nearly the same as the received value 24 corresponding to the inputsignal 10. Subsequent variations in the relationship between the inputsignal and received value will be adjusted for by the device due to theadaptive nature of the device. Furthermore fault in the device forexample in one of the blocks of RAM will be adjusted for by the devicetoo since the other RAMs will compensate for the error when they areupdated.

By interrupting the updating of the RAM after learning has occurred thedevice can be used to recognise only those signals on which it has beentrained and if the total estimate value for all other signals is madezero the corrected value 28 will only be other than the received value24 for those input signals 10 comprising signals on which the device hasbeen trained. The device can thus be in effect as a trainable filter orinput signal pattern detector.

A further advantage of the system is that no multiplications arenecessary. When used as an echo canceller this gives the device adefinite advantage over F.I.R. canceller which have to perform many suchcalculations.

The device also has the advantage of being able to associate a valuecomprising a plurality of bits with a particular response for each ofthe RAMs.

The use of RAMs having only one or two addresses gives a great saving inmemory requirement in comparison with prior art devices.

FIG. 3 shows a further embodiment of the present invention indiagrammatic form. In this embodiment each RAM is provided withadditional memory locations and additional address lines the latter ofwhich are distributed randomly over the input store. Linked toindividual cells of the input store 30 are a plurality of address linesarranged in groups 32. Each of these lines senses the contents of aparticular input store cell and each group of lines forms the addresslines for a respective block of RAM 34. The groups of lines may be ofany size from 1 upwards. Preferably though the number is kept relativelysmall so that the number of addresses per block of RAM which can beaddressed is kept within practical limits. Since the number of lines perRAM may typically by only 8 the number of addresses per RAM will only be2⁸. Thus the size of RAM Required is also considerably reduced comparedto the prior art whilst the number of input store cells remains thesame. For example in FIG. 3 128 input store cells are shown which usingthe construction of FIG. 1 would require a RAM with 2¹²⁸ addresses.Using the construction of FIG. 2 RAMs with only 2⁸ addresses arerequired and whilst more than one of these is used the total memoryrequirement is still considerably reduced. At the same time the randomdistribution of the address lines enables the modelling of manydifferent waveforms and particularly non-linearities which prior aredevices could not.

The connections of different lines may also be to identical cells. Thenumber of such groups of lines 32 and thus the number of RAMs 34 maytake any suitable member, typically this might be such that there are asmany address lines as input store cells but a lesser or greater numbermay be used.

The groups of address lines 32 each specify an address in acorresponding RAM 34 corresponding to the contents of the input store 30and the location of the address lines 32 among the store cells. At eachof the RAM store locations a word is stored indicating a partialresponse to the input store contents. There partial responses are summedto produce a total estimate which in conjunction with a received valueis used to produce a corrected value and an update value in the same wayas is shown in FIG. 2.

The use of a larger number of address lines increases the devicesability of model non-linearities but at the same time increases thememory requirement. In FIG. 4 a further embodiment of the deviceaccording to the present invention is shown which comprises a pluralityof input stores connected in series 42, 43, 44. These are each connectedto a plurality of corresponding series of RAMs 46, 48 50 by a pluralityof address lines in a similar manner to those 16, 32 shown in eitherFIG. 2 or 3. Each of the RAMs in the series of RAMs 46, 48, 50 output astored partial estimate in response to the address generated by thecontents of its appropriate input store. For each of the series of RAMs46, 48, 50 the partial responses are summed by summing means 52, divided54 by the number of RAMs in the respective series to produce an averageestimate value for each of the series of RAMs. The average values arethen summed in summing means 56 and divided 58 by the number of seriesof RAM to produce an average of the average values as an estimate value60. The estimate value obtained in this way is then used together with areceived value 62 to produce a corrected value 64 from which is derivedan update value 66 for application to the RAMs 46, 48, 50 in a similarmanner to the update value in FIGS. 2 or 3. In this manner a globalerror update value is applied to the RAMs used.

In FIGS. 5 and 6 diagrammatic views of the disposition of analogue todigital (A/D) and digital to analogue (D/A) converters are shown for useof the circuits shown in FIGS. 2, 3 or 4 as echo cancellers usinglinearly coded input signals. In FIG. 5 the subtraction of the estimatesignal from the echo signal is performed by an analogue subtractor 68whereas in FIG. 6 the subtraction is performed by a digital subtractor70. In each case the corrected value forms the echo cancelled signal 72,the echo forms the received value 74, and the transmitted signal formsthe input signal 76. However, the configuration shown in FIG. 5 ispreferred due to the delays caused to updating by the configurationshown in FIG. 5 in certain circumstances.

FIG. 7 shows in diagrammatic form an embodiment of the present inventionbeing used as an echo canceller in a telephone circuit using A-law wordsshowing where linearisation of the signal is required. The same need forlinearisation arises when μ law word or any other non-linearly codedwords are used. This is particularly relevant when the present inventionis to be used in a telephone circuit where A-law or μ low words arebeing used. In FIG. 7 the input signal 80 is fed to an input shiftregister 81. Conventional A/D and D/A converter 82, 84 connected to ahybrid 86 are provided. However, since the digital words being input tothe echo canceller are non-linearly coded it is necessary to surroundthe estimate subtractor 92 (which may form part of the device as shownin either of FIGS. 2, 3 or 4) with linearisers for converting codedwords to linear words and vice versa so that the subtraction of theestimate value from the received value can be performed on linearlycoded values. However, with the present invention there is no need forthe input to the input shift register to be linearised since a deviceaccording to the present invention will "recognise" the inputirrespective of its coding and produce and appropriate linear estimate.

Using an arrangement as shown in FIG. 7 in conjunction with thearrangements shown in FIGS. 2, 3 or 4 enables non-linearly coded inputsignals to be used without the need for a lineariser on the input to theinput shift register unlike many prior art echo-cancellers which do needa preliminary linearisation step before any cancellation can occur.However it is possible to use a vertical arrangement of the RAM addresslines which uses fewer address lines per RAM than there are bits in thewords of the input signal and yet still achieves as good a result as iffor example eight address lines per RAM where used when dealing with Alaw or μ law coded words. One such arrangement is shown in FIG. 8.

In FIG. 8 an input A or μlaw coded signal is fed not only to a hybrid(not shown) but also to an input shift register 102. For the sake ofclarity only four stages of the shift register are shown but anysuitable number may be used as with the arrangements shown in FIGS. 2 or3. Each stage 104 of the shift register 102 comprises eight cells, onefor a sign bit, three for exponent bits and four for mantissa bits. Theshift register thus comprises an eight bit parallel shift register. FourRAMs 106, 107, 108, 109 are connected to each of the stages 104 by onlyfive address lines each. In the case of each RAM four of the addresslines are taken from the cells containing the sign bit and the threeexponent bits in each stage. The fifth address line in the case of eachRAM is taken from one of the mantissa cells of the corresponding stage.The values of the locations in each RAM specified by the word in thestate are summed for each set of four RAMs corresponding to a stage inthe shift register by adders 110 to form partial reponses. These are inturn summed to form a total estimate. The individual adders 110 mayalternatively be dispensed with and the outputs from each RAM summedtogether directly. In either case the total estimate is then subtractedfrom a received value 112 by a subtractor 114 to give a corrected value116 and an update value 118 in the same manner as that shown in FIGS. 2,3 or 4. Suitable normalising means should of course be used to ensurethat the correct update value is applied to the RAM locations. One ofthe main advantages of this arrangment is the saving in memory it givesin comparison with using one eight address line RAM per shift registerstage. For a sixteen stage shift register such an arrangement wouldrequire sixteen 2⁸ address RAMs where as using an arrangement as shownin FIG. 8 would only require sixty four 2⁵ address RAMs, a saving of2048 bits of memory. Despite this reduction in memory the device isstill able to function and has a greater adaption speed than one havingthe larger memory requirement.

In FIG. 9 a further variant of the arrangement shown in FIG. 8 is shown.For the sake of clarity only one of the shift register stages 120 isshown the others and their associated RAMs being identical. In this casethere are five RAMs per shift register stage. Four are four address lineRAMs 122, 124, 126, 128. The other is a two address RAM 130 whose singleaddress line is supplied by the sign bit cell of the associated shiftregister stage. The four address lines for each of the other RAMs aretaken from the three exponent bit cells and one of the four mantissa bitcells in each case. The outputs from all five RAMs are summed by anadder 132 there being one such adder per shift register stage.Alternatively the outputs from each RAM may be summed directly. Afurther alternative arrangement is for the two address sign bit RAM tobe omitted altogether and the sign but used to control an inverter 134on the output of the corresponding adder 132. Both arrangements can beincorporated in the same device by use of a suitable switch 136. Oncethe total estimate 138 has been obtained it is subtracted from thereceived values to give an update value 140 and a corrected value 142 inthe same way as with the arrangements shown in FIGS. 2, 3, 4 or 8.

Such an arrangement gives an even greater saving in memory since it onlyrequires sixty four 2⁴ address RAMs with an optical two address RAM forthe sign bit.

I claim:
 1. An electronic adaptive recognizing device comprising:adevice input; an input store, connected to said device input, having aplurality of storage locations allowing data representative of elementsof a signal pattern to be recognized to be stored at locations relatedto the positions of the elements in said pattern; plurality ofaddressable stores each having only one address line specifying one ormore store locations therein, each of said addressable store locationsbeing capable of containing a word of at least one bit, said addresslines each being connected to a respective location in said input storesuch that the contents of said input store are capable of specifying astore location in each of said addressable stores; means for deriving acommon value dependent on the contents of the store locations specifiedby the contents of said input store; means for receiving values relatedto said signal pattern; calculating means for calculating a.[.corrected.]. .Iadd.calculated .Iaddend.value dependent on said commonvalue and a corresponding one of said received values; .Iadd.and.Iaddend. .[.an output coupled to said calculating means for outputtingsaid corrected values; and.]. updating means for applying an updatevalue dependent on said .[.corrected.]. .Iadd.calculated .Iaddend.valueto the contents of said specified store locations.
 2. A recognizingdevice according to claim 1 wherein said means for deriving determinessaid common value by taking the sum of the contents of the storelocations specified by the contents of said input store.
 3. Arecognizing device according to claim 2 wherein said calculating meanscomprises means for obtaining said .[.corrected.]. .Iadd.calculated.Iaddend.value by subtracting an estimate value from a corresponding oneof said received values and averaging means for deriving said estimatevalue from the average value of the contents of the store locationsspecified by the corresponding contents of said input store.
 4. Arecognizing device according to claim 2 wherein said calculating meanscomprises means for obtaining said .[.corrected.]. .Iadd.calculated.Iaddend.value by subtracting said sum form a corresponding one of saidreceived values and said updating means comprises means for dividingsaid .[.corrected.]. .Iadd.calculated .Iaddend.value by the number ofsaid addressable stores connected to said input store to provide saidupdate value.
 5. A recognizing device according to any one of thepreceding claims wherein said updating means adds said update value tothe contents of each of said specified store locations.
 6. A recognizingdevice according to any one of claims 1 to 4 wherein said addressablestores each contain only one store location.
 7. A recognizing deviceaccording to any one of claims 1 to 4 wherein said addressable storeseach contain only two store locations.
 8. A recognizing device accordingto any one of claims 1 to 4 wherein said address lines are connected tolocations in said input store at random.
 9. A recognizing deviceaccording to any one of claims 1 to 4 wherein more than one address lineare connected to a single input store location.
 10. A recognizing deviceaccording to claim 3 comprising a plurality of input stores, said inputstores being connected in series and having said device input as acommon input, each of said plurality of input stores being coupled to aplurality of said addressable stores, and each of said input storeshaving a common means for receiving values, .[.output for correctedvalues,.]. calculating means and updating means, wherein said estimatevalue comprises the average of the average values of the contents ofsaid addressable store locations specified by the contents of each ofsaid input stores.
 11. A recognizing device according to any one ofclaims 1 to 4 further comprising means for selectively operating saiddevice according to a predetermined sequence in either a recognition oran updating mode wherein .Iadd.in .Iaddend.said recognition mode.[.corrected.]. .Iadd.calculated .Iaddend.values are output and in saidupdate mode said updating means applies said update value to thecontents of each of said addressable store locations.
 12. A recognizingdevice according to any one of claims 1 to 4 wherein said input storecomprises a shift register into which data forming a signal pattern tobe recognized may be fed and said addressable stores have identicalvalues written in locations corresponding to a plurality of positions ofsaid signal pattern in said shift register such that said signal patternmay be subsequently recognized independently of its position in saidinput store.
 13. .[.A recognizing device according to any one of claims1 to 4 including.]. .Iadd.An electronic adaptive recognizing devicecomprising:a device input; an input store, connected to said deviceinput, having a plurality of storage locations allowing datarepresentative of elements of a signal pattern to be recognized to bestored at locations related to the positions of the elements in saidpattern; a plurality of addressable stores each having only one addressline specifying one or more store locations therein, each of saidaddressable store locations being capable of containing a word of atleast one bit, said address lines each being connected to a respectivelocation in said input store such that the contents of said input storeare capable of specifying a store location in each of said addressablestores; means for deriving a common value dependent on the contents ofthe store locations specified by the contents of said input store; meansfor receiving values related to said signal pattern; calculating meansfor calculating a corrected value dependent on said common value and acorresponding one of said received values; an output coupled to saidcalculating means for outputting said corrected values; updating meansfor applying an update value dependent on said corrected value to thecontents of said specified store locations; and .Iaddend. atransmitter/receiver unit wherein .[.said.]. .Iadd.a.Iaddend.transmitter output is also applied to said device input, saidreceiver is connected to said output for outputting corrected values andsaid means for receiving values is supplied with a signal to be receivedby said receiver, such that portions of said signal to be received bythe receiver which are derived from signals transmitted by thetransmitter are cancelled.
 14. A recognizing device according to any oneof claims 1 to 4, wherein said device input is coupled to a signal to bedigitally filtered, and further including means for disabling saidupdating means after supplying the signal to be filtered to said input,said device input also being connected to said means for receivingvalues.
 15. An electronic adaptive recognizing device comprising:adevice input; an input store, connected to said device input, having aplurality of storage locations allowing data representative of elementsof a signal pattern to be recognized to be stored at locations relatedto the positions of elements in said pattern; a plurality of addressablestores each having address lines specifying one or more store locationstherein, each of said addressable store locations being capable ofcontaining a word of at least one bit, said address lines each beingconnected to a respective location in said input store such that thecontents of said input store are capable of specifying a store locationin each of said addressable stores, at least some of said address linesbeing connected to locations in said input store at random; means forderiving a common value dependent on the contents of the store locationsspecified by the contents of said input store; means for receivingvalues related to said signal pattern; calculating means for calculatinga .[.corrected.]. .Iadd.calculated .Iaddend.value dependent on saidcommon value and a corresponding one of said received values; .Iadd.and.Iaddend. .[.an output coupled to said calculating means for outputtingsaid corrected values; and.]. updating means for applying an updatevalue dependent on said .[.corrected.]. .Iadd.calculated .Iaddend.valueto the contents of said specified store locations.
 16. A recognizingdevice according to claim 15 wherein said means for deriving determinessaid common value by taking the sum of the contents of the storelocations specified by the contents of said input store.
 17. Arecognizing device according to claim 16 wherein said calculating meanscomprises means for obtaining said .[.corrected.]. .Iadd.calculated.Iaddend.value by subtracting an estimate value from a corresponding oneof said received values and averaging means for deriving said estimatevalue from the average value of the contents of the store locationsspecified by the corresponding contents of said .[.put.]. .Iadd.input.Iaddend.store.
 18. A recognizing device according to claim 16 whereinsaid calculating means comprises means for obtaining said.[.calculated.]. value by subtracting said sum from a corresponding oneof said received values and said updating means comprises means fordividing said .[.corrected.]. .Iadd.calculated .Iaddend.value by thenumber of said addressable stores connected to said input store toprovide said update value.
 19. A recognizing device according to any oneof claims 15 to 18 wherein said updating means adds said update value tothe contents of each of said specified store locations.
 20. Arecognizing device according to any one of claims 15 to 18 wherein thenumber of address lines per addressable store is smaller than the numberof bits each word of said input data is comprised of.
 21. A recognizingdevice according to any one of claims 15 to 18 wherein more than oneaddress line are connected to a single input store location.
 22. Arecognizing device according to claim 17 comprising a plurality of inputstores, said input stores being connected in series and having a commoninput and each of said plurality of input stores being coupled to aplurality of addressable stores, each of said input stores having acommon means for receiving values, .[.output for corrected values,.].calculating means and updating means, wherein said estimate valuecomprises the average of the average values of the contents of saidaddressable store locations specified by the contents of each of saidinput stores.
 23. A recognizing device according to any one of claims 15to 18 further comprising means for selectively operating said deviceaccording to a predetermined sequence in either a recognition or anupdating mode wherein in said recognition mode .[.corrected.]..Iadd.calculated .Iaddend.values are output and in said update mode saidupdating means applies said update value to the contents of each of saidaddressable store locations.
 24. A recognizing device according to anyone of claims 15 to 18 wherein said input store comprises a shiftregister into which data forming a signal pattern to be recognized maybe fed and said addressable stores have identical values written inlocations corresponding to a plurality of positions of said signalpattern in said shift register such that said signal pattern may besubsequently recognized independently of its position in said inputstore.
 25. .[.A recognizing device according to any one of claims 15 to18 including.]. .Iadd.An electronic adaptive recognizing devicecomprising;a device input; an input store, connected to said deviceinput, having a plurality of storage locations allowing datarepresentative of elements of a signal pattern to be recognized to bestored at locations related to the positions of elements in saidpattern; a plurality of addressable stores each having address linesspecifying one or more store locations therein, each of said addressablestore locations being capable of containing a word of at least one bit,said address lines each being connected to a respective location in saidinput store such that the contents of said input store are capable ofspecifying a store location in each of said addressable stores, at leastsome of said address lines being connected to locations in said inputstore at random; means for deriving a common value dependent on thecontents of the store locations specified by the contents of said inputstore; means for receiving values related to said signal pattern;calculating means for calculating a corrected value dependent on saidcommon value and a corresponding one of said received values; an outputcoupled to said calculating means for outputting said corrected values;updating means for applying an update value dependent on said correctedvalue to the contents of said specified store locations; and .Iaddend. atransmitter/ receiver unit wherein .[.said.]. .Iadd.a.Iaddend.transmitter output is also applied to said device input, saidreceiver is connected to said output for outputting corrected values andsaid means for receiving values is supplied with a signal to be receivedby said receiver, such that portions of said signal to be received bythe receiver which are derived from said signals transmitted by thetransmitter are cancelled.
 26. A recognizing device according to any oneof claims 15 to 18 wherein said device input is coupled to a signal tobe digitally filtered, and further including means for disabling saidupdating means after supplying the signal to be filtered to said deviceinput, said device input also being connected to said means forreceiving values.
 27. An electronic adaptive recognizing devicecomprising:a device input; an input store, connected to said deviceinput, having a plurality of storage locations allowing data wordsrepresentative of elements of a signal pattern to be recognized to bestored at locations related to the positions of the elements in saidpattern; a plurality of addressable stores each having a plurality ofaddress lines specifying a plurality of store locations therein andwherein the number of address lines per addressable store is smallerthan the number of bits each word of said input data is comprised of,each of said addressable store locations being capable of containing aword of at least one bit, said address lines each being connected to arespective location in said input store such that the contents of saidinput store are capable of specifying a store location in each of saidaddressable stores and wherein said input data words comprisenon-linearly coded words having one or more exponent bits and one ormore mantissa bits and said input store comprises a register, each stageof which contains one of said words and wherein a plurality of saidaddressable stores are connected to each of a plurality of said stagesand are each addressed by at least all said exponent bits and one ofsaid mantissa bits; means for deriving a common value dependent on thecontents of the store locations specified by the contents of said inputstore; means for receiving values related to said signal pattern;calculating means for calculating a .[.corrected.]. .Iadd.calculated.Iaddend.value dependent on said common value and a corresponding one ofsaid received values; .Iadd.and .Iaddend. .[.an output coupled to saidcalculating means for outputting said corrected values; and.]. updatingmeans for applying an update value dependent on said .[.corrected.]..Iadd.calculated .Iaddend.value to the contents of said specified storelocations.
 28. A recognizing device according to claim 27 wherein saidmeans for deriving determines said common value by taking the sum of thecontents of the store locations specified by the contents of said inputstore.
 29. A recognizing device according to claim 28 wherein saidcalculating means .[.comprise.]. .Iadd.comprises means for obtainingsaid .[.corrected.]. .Iadd.calculated .Iaddend.value by subtracting anestimate value from a corresponding one of said received values andaveraging means for deriving said estimate value from the average valueof the contents of the store locations specified by the correspondingcontents of said input store.
 30. A recognizing device according toclaim 28 wherein said calculating means comprises means for obtainingsaid .[.corrected.]. .Iadd.calculated .Iaddend.value by subtracting saidsum from a corresponding one of said received values and said updatingmeans comprises means for dividing said .[.corrected.]. .Iadd.calculated.Iaddend.value by the number of said addressable stores connected tosaid input store to provide said update value.
 31. A recognizing deviceaccording to any one of claims 27 to 30 wherein said updating means addssaid update value to the contents of each of said specified storelocations.
 32. A recognizing device according to any one of claims 27 to30 further comprising means for selectively operating said deviceaccording to a predetermined sequence in either a recognition or anupdating mode wherein in said recognition mode .[.corrected.]..Iadd.calculated .Iaddend.values are output and in said update mode saidupdating means applies said update value to the contents of each of saidaddressable store locations.
 33. A recognizing device according to anyone of claims 27 to 30 wherein said input store .[.comprise.]..Iadd.comprises .Iaddend.a shift register into which data forming asignal pattern to be recognized may be fed and said addressable storeshaving identical values written in locations corresponding to aplurality of positions of said signal pattern in said shift registersuch that said signal pattern may be subsequently recognizedindependently of its position in said input store.
 34. .[.A recognizingdevice according to any one of claims 27 to 30 including.]. .Iadd.Anelectronic adaptive recognizing device comprising:a device input: aninput store, connected to said device input, having a plurality ofstorage locations allowing data words representative of elements of asignal pattern to be recognized to be stored at locations related to thepositions of the elements in said pattern; a plurality of addressablestores each having a plurality of address lines specifying a pluralityof store locations therein and wherein the number of address lines peraddressable store is smaller than the number of bits each word of saidinput data is comprised of, each of said addressable store locationsbeing capable of containing a word of at least one bit, said addresslines each being connected to a respective location in said input storesuch that the contents of said input store are capable of specifyingstore location in each of said addressable stores and wherein said inputdata words comprise non-linearly coded words having one or more exponentbits and one or more mantissa bits and said input store comprises aregister, each stage of which contains one of said words and wherein aplurality of said addressable stores are connected to each of aplurality of said stages and are each addressed by at least all saidexponent bits and one of said mantissa bits; means for deriving a commonvalue dependent on the contents of the store locations specified by thecontents of said input store; means for receiving values related to saidsignal pattern; calculating means for calculating a corrected valuedependent on said common value and a corresponding one of said receivedvalues; an output coupled to said calculating means for outputting saidcorrected values; updating means for applying an update value dependenton said corrected value to the contents of said specified storelocations; and a transmitter/receiver unit wherein .[.said.]. .Iadd.a.Iaddend.transmitter output is also applied to said device input, saidreceiver is connected to said .[.output.]. .Iadd.transmitter output.Iaddend.for outputting corrected values and said means for receivingvalues is supplied with a signal to be received by said receiver, suchthat portions of said signal to be received by the receiver which arederived from signals transmitted by the transmitter are cancelled.
 35. Arecognizing device according to any one of claims 27 to 30 wherein saiddevice input is coupled to a signal to be digitally filtered, andfurther including means for disabling said updating means aftersupplying the signal to be filtered to said device input, said deviceinput also being connected to said means for receiving values.